package com.yang.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yang.domain.entity.Message;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * <p>
 * 本地消息表mapper
 * </p>
 * @author yang
 * @date 2023/8/16
 */
public interface MessageMapper extends BaseMapper<Message> {

    /**
     * 查询太长时间没有确定的消息开始
     * @param consumerQueue 消费队列
     * @param createEndTime 截止时间
     * @return 消息
     */
    List<Message> selectTooLongUnConfirmMessageList(@Param("consumerQueue") String consumerQueue,
                                                    @Param("createEndTime") Date createEndTime);

    /**
     * 查询未死亡的并且太长时间没有消费的消息
     * @param sendEndTime 发送截止时间
     * @return java.util.List<com.shop.entity.Message>
     */
    List<Message> selectTooLongUnConsumeMessageList(@Param("sendEndTime") Date sendEndTime);

    /**
     * 根据重发次数设置消息为死亡状态
     * @param resendTimes 重发次数
     * @return java.lang.Integer
     */
    Integer updateMessageDead(Integer resendTimes);
}
